la chambre  bulles pour Sharp PC1500 ( pas de programme )
tir du magazine Hebdogiciel N78

	De la physique cette semaine ( une fois n'est pas coutume ). Dommage que l'on ne puisse emmener son PC aux examens.

Mode d'emploi :
	Taper DEF BI. Choisir alors entre un choc lastique ou inlastique. Procder ensuite  l'entre des rayons de courbure des diffrentes particules puis des quantits de mouvements de la particule incidente et de la 4 ( si choc inlastique ), puis des noms des particules de la faon suivante : majuscules et en toutes lettres, suivies ventuellement de leur charge sans espace entre. Exemple, pour le mson PI+, entrer PION+, pour le mson K enter KAON0, pour le photo entrer LAMBDA, pour l'lectron entrer ELECTRON.
	Aprs quoi, vous aurez le choix entre formuler une autre hypothse, passer  l'tude d'un autre choc, changer les valeurs de A(2) et de A(3), c'est--dire des rayons de courbure des particules 2 et 3 ou de quitter le programme qui s'autodtruira alors.

Programme :
10 REM ***************************
20 REM *
30 REM *    chambre  bulles     *
40 REM * auteur ceccoli j-l 1982 *
50 REM *  programme pour pc-1500 *
60 REM * copyright l'auteur 1984 *
70 REM * 			 *
80 REM ***************************
90 REM
100 REM ------------------------
110 REM sous-programme de saisie
120 REM et de recherche du nom
130 REM de la particule propose
140 REM ------------------------
150 REM
160 CLS:RESTORE
170 PRINT "particule "+STR$(B-8)
180 CURSOR 16:INPUT B$
190 REM
200 REM ----------------------
210 REM boucle de localisation
220 REM ----------------------
230 REM
240 FOR I=1 TO 19:READ A(B),A$(B-8)
250 F$=LEFT$(A$(B-8),LEN B$)
260 IF F$<>B$ THEN NEXT N:GOTO 160
270 N=19:NEXT N:B(B-8)=0
280 IF A(B)>500 THEN LET B(B-8)=1
290 O=SGN VAL RIGHT$(A$(B-8),2)
300 C(B-8)=O:A$(B-8)=B$
310 RETURN
320 REM
330 REM ----------------------
340 REM tableau de comparaison
350 REM du nom de la particule
360 REM ----------------------
370 REM
380 DATA 0,"neutrino",0,"gamma"
390 DATA .511,"lectron-1",105.66,"muon-1",1955,"deuton+1"
400 DATA 638.25,"proton+1",939.55,"neutron"
410 DATA 1115.4,"lambda",1196,"sigma-1"
420 DATA 1192.3,"sigma0",1189.4,"sigma+1"
430 DATA 1321,"xi-1",1314,"xi0",1676,"omega-1"
440 DATA 135,"pion0",139.6,"pion-1"
450 DATA 139.6,"pion+1",497.8,"kaon0",493.8,"kaon+1"
460 REM
470 REM ----------------------------
480 REM initialisation des variables
490 REM ----------------------------
500 REM
510 "B":CLEAR:DIM A(16),A$(4),B(4),C(4)
520 CLS:WAIT 0:RESTORE
530 GRAPH:ROTATE 1:GLCURSOR (0,-40)
540 REM
550 REM --------------------------
560 REM choix de la nature du choc
570 REM --------------------------
580 REM
590 PRINT "1:lastique 2:inlastique"
600 A$=INKEY$
610 IF A$="" THEN GOTO 600
620 IF A$<>"1" AND A$<>"2" THEN GOTO 600
630 REM
640 REM ---------------------------
650 REM entre du rayon de courbure
660 REM des diffrentes particules
670 REM ---------------------------
680 REM
690 A=VAL A$
700 FOR B=1 TO 3
710 CLS
720 PRINT "rayon "+STR$ B
730 CURSOR 16:INPUT A(B)
740 NEXT B
750 REM
760 REM ------------------------
770 REM entre de la quantit de
780 REM mouvement des particules
790 REM ------------------------
800 REM
810 CLS:PRINT "qt de mvt 1"
820 CURSOR 16:INPUT A(5)
830 IF A=1 THEN GOTO 930
840 CLS:PRINT "qt de mvt 4"
850 CURSOR 16:INPUT A(8)
860 REM
870 REM ---------------------------
880 REM calcul du rayon de courbure
890 REM de P4 et de la quantit
900 REM de mouvement de P2 et de P3
910 REM ---------------------------
920 REM
930 A(4)=A(8)/A(5)*A(1)
940 B=9:GOSUB 160
950 FOR B=6 TO 7
960 A(B)=A(5)/A(1)*A(B-4)
970 NEXT B
980 FOR B=10 TO 11
990 GOSUB 160
1000 NEXT B
1010 IF A=2 THEN LET B=12:GOSUB 160
1020 FOR B=13 TO 15
1030 A(B)=SQR(A(B-8)^2+A(B-4)^2)
1040 NEXT B
1050 A(13)=A(13)+A(9)
1060 IF A=1 THEN GOTO 1160
1070 A(16)=SQR(A(9)^2+A(12)^2)
1080 REM
1090 REM ------------------
1100 REM vrification de la
1110 REM satisfaction de l'
1120 REM hypothse aux deux
1130 REM exigences majeures
1140 REM ------------------
1150 REM
1160 C=C+1:D=0:E=B(1)+B(2)
1170 F=B(2)+B(3)+B(4)
1180 G=0:IF E<>F LET G=1:D=1
1190 H=C(1)+C(2):I=C(2)+C(3)+C(4)
1200 J=0:IF H<>I LET J=1:D=1
1210 IF D=0 THEN GOTO 1700
1220 REM
1230 REM -----------------
1240 REM hypothse rejete
1250 REM -----------------
1260 REM
1270 COLOR 3:K=190:GLCURSOR (K,0)
1280 LPRINT "l'hypothse"
1290 LPRINT USING "###";C
1300 LPRINT " "+A$(1)+" "+A$(2)
1310 K=K-30:GLCURSOR (K,0)
1320 LPRINT "--> "+A$(2)+3 "
1330 LPRINT A$(3)+" "+A$(4)
1340 K=K-30:GLCURSOR (K,0)
1350 LPRINT "est irrcevable car:"
1360 IF G<1 THEN GOTO 1390
1370 K=K-30:GLCURSOR (K,0)
1380 LPRINT "- nombre baryonique non respect"
1390 IF J<1 THEN GOTO 1420
1400 K=K-30:GLCURSOR (K,0)
1410 LPRINT "- nombre de charges non respect"
1420 K=K-50:GLCURSOR (K,-40)
1430 LPRINT "veuillez rectifier !"
1440 GLCURSOR (0,-480):SORGN
1450 REM
1460 REM ------------------------
1470 REM change entre les rayons
1480 REM de courbure de P2 et P3
1490 REM ------------------------
1500 REM
1510 CLS:C$="081C3E08083E1C08"
1520 PRINT "1:r2";:GPRINT C$,
1530 PRINT "r3 2:cont"
1540 D$=INKEY$
1550 IF D$="" THEN GOTO 1540
1560 IF D$="1" THEN GOTO 1590
1570 IF D$="2" THEN GOTO 2230
1580 GOTO 1540
1590 A(0)=A(2):A(2)=A(3):A(3)=A(0)
1600 GOTO 950
1610 REM
1620 REM ------------------
1630 REM hypothse accepte
1640 REM ------------------
1650 REM
1660 REM ----------------
1670 REM trac du tableau
1680 REM ----------------
1690 REM
1700 L=90-30*A
1710 LINE (180,0)-(L-30,-380),,0,B
1720 LINE (150,0)-(150,-380)
1730 LINE (120,-380)-(120,0)
1740 LINE (90,0)-(90,-380)
1750 LINE (60,-380)-(60,0)
1760 IF A=2 THEN LINE (30,0)-(30,-380)
1770 LINE (180,-250)-(L,-250)
1780 LINE (L,-185)-(180,-185)
1790 LINE (180,-125)-(L,-125)
1800 LINE (L,-70)-(180,-70)
1810 REM
1820 REM ---------------------
1830 REM dition des rsultats
1840 REM ---------------------
1850 REM
1860 COLOR 1:GLCURSOR (190,-10*(3-A))
1870 IF A=1 THEN LPRINT "choc lastique"
1880 IF A=2 THEN LPRINT "choc inlastique"
1890 LPRINT " hypothse"
1900 LPRINT USING "###";C
1910 GLCURSOR (160,-10)
1920 LPRINT "p":GLCURSOR (160,-85)
1930 LPRINT "r":GLCURSOR (160,-140)
1940 LPRINT "m":GLCURSOR (160,-200)
1950 LPRINT "e":GLCURSOR (160,-200)
1960 LPRINT "particule":CSIZE 1
1970 GLCURSOR (160,-25):LPRINT "mev/c"
1980 GLCURSOR (160,-100):LPRINT "cm"
1990 GLCURSOR (160,-155):LPRINT "mev"
2000 GLCURSOR (160,-215):LPRINT "mev"
2010 COLOR 2:CSIZE 2:USING "#####"
2020 FOR B=9 TO 11
2030 GLCURSOR (155-30*(B-8),0)
2040 LPRINT A(B-4);A(B-8);A(B)
2050 LPRINT A(B+4);"  ";A$(B-8)
2060 NEXT B
2070 IF A=1 THEN GOTO 2100
2080 GLCURSOR (35,0):LPRINT A(8);A(4)
2090 LPRINT A(12);A(16);"  ";A$(4)
2100 COLOR 3:GLSURSOR (L-20,-30)
2110 M=A(13)-A(14)-A(15)-A(16)
2120 LPRINT "variation absolue"
2130 P=ABS M:LPRINT P+.5;" mev"
2140 GLCURSOR (0,-480):SORGN
2150 REM
2160 REM ------------------------
2170 REM poursuite de l'tude du
2180 REM choc,passage  une autre
2190 REM hypothse, change entre
2200 REM r2 et r3 ou cessation
2210 REM ------------------------
2220 REM
2230 PRINT "1:hyp 2:choc 3:ech 4:fin"
2240 E$=INKEY$
2250 IF E$="" THEN GOTO 2240
2260 IF E$="1" THEN GOTO 980
2270 IF E$="2" THEN GOTO 510
2280 IF E$="3" THEN GOTO 1590
2290 IF E$="4" THEN TEXT:GOTO 2310
2300 GOTO 2240
2310 POKE &38C5,255:POKE &7867,&38,&C5:END